The invention generally applies to the test and analysis of Integrated Circuit devices.
The inherent software and hardware architecture of many Automatic Test Equipment (ATE) platforms do not allow for pauses during the execution of serialized SCAN based tests. However, many of the failure analysis techniques require the ability to pause on a test, such as SCAN, in order to perform many of the tasks associated with a root cause failure analysis. For example, in order to collect electrical current measurements on pattern vectors the test must be paused at each vector, the device under test is conditioned as desired, and then an electrical current measurement is made. The test is then resumed, the next vector is executed, the test is paused, the device under test is conditioned as desired, and then an electrical current measurement is made, and so forth.
Currently, SCAN based patterns use a combination of parallel and serial vectors in order to reduce the amount of memory used on many ATE platforms. Typically, an ATE platform will provide the ability to pause on a parallel vector, so one method of pausing on serial vectors of a SCAN based test is to convert the serial vectors into parallel vectors. This existing approach of converting the serialized vectors to parallel vectors, however, has a number of disadvantages.
First of all, when the serial vectors in a SCAN pattern are converted to parallel vectors, the pattern becomes very large. Many times the pattern becomes so large that it will not fit into the tester's parallel vector memory. Therefore, the method will not work. At other times, the pattern will fit, but the other patterns in the test program have to be removed to make room for the converted SCAN pattern. This requires extensive modifications to the test program.
Second, converting the serialized vectors to parallel vectors and then modifying the test program to accommodate them is typically outside the expertise of the typical personnel who are responsible for failure analysis tasks. Therefore, this method is seldom used because of the inherent problems it creates on tester resources and test program code.
Third, once the serial vectors are converted, the patterns must be recompiled, the test program must be modified, and, if there are several SCAN patterns failing, these tasks are required for each failing pattern. This effort becomes very time consuming and often times required the assistance of a Test Engineer. Therefore, it is both costly and impacts the cycle time required to complete the failure analysis on a device.
Device simulations are used by integrated circuit design engineers to generate patterns that are used in the test of a device. However, due to design and logic layouts there are areas of a device that cannot be simulated. This leads to a decrease in the test fault coverage that in turn leads to devices that pass all production test flows, but fail in the customer applications.
In order to solve this problem, sometimes there are opportunities to re-simulate a design to increase the fault coverage. However, in many cases the logic cannot be simulated. Another alternative is to re-spin the design to add logic that allows for additional simulation, but this isn't always practical and is seldom done.
These existing approaches, however, has a number of disadvantages. First, re-simulation and re-design are very costly. Second, re-simulation and re-design can take many months to accomplish, which is unacceptable in a time-to-market environment. Third, re-simulation and re-design are not always successful. Fourth, re-designing a part can lead to other problems. In other words, sometimes the new design doesn't work and another re-spin is required.
A current computer program has been designed to function on the Credence automatic test equipment (ATE) platform, however, the features provided by the software can be written to work across different ATE platforms. The program provides the ability to curve trace the input and output pin (buffer) characteristics of a device under test. This is also known as curve tracing. The program is incorporated into the test program and use the standard Credence ATE test and debugger elementals to characterize the buffers and then stores the data for further analysis. This eliminates the need to use additional offline equipment to characterize and curve trace device buffers. The program provides the option of either viewing the curve traces during a tester session using the standard UNIX 2D plot routine (GNUPLOT) or an offline software package such as Microsoft EXCEL. Of course, other graphic packages exist that could utilize the data as well. The program also provides the capability to store data that can then be evaluated using offline statistical and mathematically analysis packages to evaluate and characterize the buffers. Thus, the program offers the ability to curve trace buffers during a test session and then store the data for offline evaluation.
The known approach for solving this problem is oscilloscopes, which are used to curve trace. Oscilloscopes, though, are cumbersome to use when large numbers of buffers are to be examined. Oscilloscopes are lacking for a number of different reasons. In particular, oscilloscopes: do not automatically curve trace a user defined pin list; do not utilize the existing automatic test equipments hardware and software utilities; must be manually set up for each pin which can be very time consuming and costly; do not provide a data file for a group of pins that can be analyzed offline; do not provide an interface to the existing UNIX gnuplot utility; do not provide test limit and alarming capability; and do not provide an operator interface that resides in the ATE test programs flow.